Centralized control plane appliance for virtual infrastructure

ABSTRACT

In a virtual infrastructure, a single appliance is provided that hosts a centralized virtual machine monitor (VMM) control plane to effectively establish a single virtual switch across all virtual machines within one or more clusters of servers, thereby reducing the number of management points for the network administrator and facilitating easier VM migration.

FIELD OF THE INVENTION

The present application relates generally to centralized control planes for virtual infrastructures.

BACKGROUND OF THE INVENTION

Virtualization essentially transforms hardware into software by creating multiple virtual machines on one physical computer. The virtual machines thus share hardware resources without interfering with each other, enabling multiple operating systems and applications to execute at the same time on a single computer, for example, by using a virtual machine hypervisor to allocate hardware resources dynamically and transparently so that multiple operating systems can run concurrently on a single physical computer. In essence, a virtual machine is thus a tightly isolated software container that can run its own operating systems and applications as if it were a physical computer. A virtual machine behaves like a physical computer and contains its own virtual (i.e., software-based) CPU, RAM hard disk and network interface card (NIC). In this way, utilization of costly hardware resources is maximized.

Because multiple virtual machines (VM) may reside on a single computer, management points multiply, complicating VM management particularly with respect to network access control.

BRIEF DESCRIPTION OF THE DRAWINGS

The details of the present invention, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which:

FIG. 1 is a block diagram of an example system in accordance with present principles; and

FIG. 2 is a block diagram showing an example architecture with a centralized control plane (CCP).

DESCRIPTION OF EXAMPLE EMBODIMENTS Overview

In a virtual infrastructure established on plural physical computing apparatus, a virtual machine monitor (VMM) centralized control plane (CCP) is provided. The VMM CCP establishes, with plural VMM data planes, a single virtual switch across all virtual machines within one or more clusters of servers. At least two of the VMM data planes are associated with respective plural virtual machines (VM).

In one example embodiment the VMM CCP is hosted by one and only appliance and is the only control plane for a cluster of servers. In another example embodiment the VMM CCP is hosted by one and only VM and is the only control plane for a cluster of servers. In still another example embodiment the VMM CCP is hosted by one and only physical Ethernet switch and is the only control plane for a cluster of servers, although in some implementations two controllers active in an active-standby configuration may be used within this scope.

In some implementations a server can host two or more VMs and a single VMM data plane communicates with the VMs of a server. The data plane also communicates with the VMM CCP. Multiple servers can establish a cluster, with the VMM CCP being the only control plane for the cluster.

In another embodiment a method includes providing a cluster of computer servers, and instantiating, on at least a first server in the cluster, at least first and second virtual machines (VM). The method further includes instantiating a first data plane communicating with the first and second VM, instantiating, on at least a second server in the cluster, at least third and fourth virtual machines (VM), and instantiating a second data plane communicating with the third and fourth VM. One and only one control plane communicates with the first and second data planes.

In another embodiment an appliance has a housing, a processor in the housing, and a tangible computer readable medium in the housing and accessible to the processor. The medium stores a single virtual machine monitor (VMM) centralized control plane (CCP) configured to communicate with plural VMM data planes in a cluster of servers.

Example Embodiments

Referring initially to FIG. 1, multiple clusters (only two clusters “A” and “N” shown for ease of disclosure) of computers are shown, with each cluster including two or more computers 12. The computers 12 may be servers, blade servers, or other computers requiring network switching in a virtual infrastructure (VI) environment and running hypervisor software.

As shown in FIG. 1, each computer 12 includes one or more processors 14 accessing a tangible computer-readable storage medium 16 such as, without limitation, disk-based storage, solid state storage, etc. Owing to virtualization, a computer 12 may have only a single processor 14 but can have multiple virtual machines (VM) 18, essentially, software instantiations of physical computers, each with its own operating system, software applications, etc. and each believing it has its own respective processor and data storage. In reality, the VMs 18 share the physical processor 14 and medium 16 of the computer on which they are instantiated, with their operation coordinated by a virtual machine monitor (VMM) 20. As shown in FIG. 1, per present principles a VMM 20 as instantiated on a computer in a cluster executes a respective VMM data plane, with VMM control plane functions being executed remotely as described further below.

As also shown in FIG. 1, the computers 12 of a cluster may communicate with other and with computers of other clusters over a production network 22. In some implementations a virtualization software management server 24 with its own processor 26 may also communicate on the production network in accordance with VI principles. The virtualization software management server 24 can communicate with one or more VI client computers 28, e.g., desktop computers, each with its own processor 30, and/or the VI client computers 28 can communicate directly with the production network 22 as shown.

In accordance with present principles, all of the VMM data planes 20 of a single cluster communicate over a management network 32 with a single VMM centralized control plane (CCP) 34. In one implementation, a single VMM CCP 34 is established per cluster, as shown in FIG. 1, essentially by establishing the VMM CCP on a respective VM. In other implementations, a single VMM CCP 34 may service the VMM data planes of multiple clusters.

The VMM CCP 34 may be hosted on one of the VM 18 in the cluster or may be hosted on a host device 36 with one or more host processors 38 accessing one or more tangible computer-readable media 40 bearing the VMM CCP 34. The host device 36 may be a physical Ethernet switch or a standalone appliance with appliance housing 42. The VMM CCP 34 communicates with a network 44 such as, e.g., the Internet. In one non-limiting embodiment the appliance 36 executes an instance 46 of a data center operating system (DC-OS) program that spawns the VMM CCP, manages the local appliance, and manages the local communication interfaces which are not visible to the CCP instances. The DC-OS also manages communication with redundant appliances 48 that can contain standby CCP instances, as well as communication with external management applications such as, e.g., VMWare's VirtualCenter.

In essence, the VMM data planes 20 emulate the software and forwarding hardware on a linecard of a modular Ethernet switch chassis, while the CCP emulates the supervisor of a modular Ethernet switch chassis. Accordingly, in the VMM data planes 20, packets in an incoming format may be forwarded and if desired transformed to an outgoing format for the underlying VMs 18, so that two different types of networks may communicate with each other. Management of packet forwarding to appropriate output ports may also be undertaken in the data planes 20. In the VMM CCP 34, on the other hand, signaling and other control protocols may be executed, as well as per-packet processing operations such as IP forwarding and classification at line rates, although some per-packet processing operations are not handled in the datapath. The VMM CCP may also execute higher layer functions such as establishing routing tables, entering quality service policies; exception handling, and monitoring functions.

FIG. 2 illustrates further details of the above disclosure using a single cluster with only two computers 12 for ease of description, it being understood that present principles apply to plural clusters as stated above with two or more computers per clusters. Each computer 12 hosts two or more instantiations of virtual machines 18, with the VM 18 of a computer 12 communicating with a single VMM data plane 20 associated with the computer 12. All of the data planes 20 in a cluster communicate with a single VMM CCP 34 as described above, which can also communication with a network 44. Thus, a single virtual switch is established across all virtual machines 18 within one (and in some instances more than one) cluster of computers by the individual computer data planes 20 working in concert with the single VMM CCP 34.

If desired, if a CCP is running on a switch that is detected to be failing using switch failure detection principles known in the art, the CCP can be moved to another processing location (e.g., to an appliance, server, or other switch) with state information including routing tables intact.

While the particular CENTRALIZED CONTROL PLANE APPLIANCE FOR VIRTUAL INFRASTRUCTURE is herein shown and described in detail, it is to be understood that the subject matter which is encompassed by the present invention is limited only by the claims. 

1. In a virtual infrastructure established on plural physical computing apparatus, a virtual machine monitor (VMM) centralized control plane (CCP) establishing, with plural VMM data planes at least two of which data planes are associated with respective plural virtual machines (VM), a single virtual switch across all virtual machines within one or more clusters of servers.
 2. The VMM CCP of claim 1, wherein the VMM CCP is hosted by one and only appliance and is the only control plane for a cluster of servers.
 3. The VMM CCP of claim 2, wherein at least one server hosts at least two VMs and a single VMM data plane communicating with the at least two VMs, the data plane communicating with the VMM CCP.
 4. The VMM CCP of claim 3, wherein at least two servers comprise a cluster, the VMM CCP being the only control plane for the cluster.
 5. The VMM CCP of claim 1, wherein the VMM CCP is hosted by one and only VM and is the only control plane for a cluster of servers.
 6. The VMM CCP of claim 1, comprising a redundant CCP acting as a standby in each case of a CCP VM, appliance, and being integrated with the switch, whereby if the CCP is running on a switch detected to be failing, CCP functionality is moved to another processing location with state information intact.
 7. Method comprising: providing a cluster of computer servers; instantiating, on at least a first server in the cluster, at least first and second virtual machines (VM); instantiating a first data plane communicating with the first and second VM; instantiating, on at least a second server in the cluster, at least third and fourth virtual machines (VM); instantiating a second data plane communicating with the third and fourth VM; and establishing one and only one control plane communicating with the first and second data planes.
 8. The method of claim 7, wherein the data planes are virtual machine monitor (VMM) data planes.
 9. The method of claim 8, wherein the control plane is a VMM control plane.
 10. The method of claim 7, comprising establishing the control plane on an appliance remote from the servers.
 11. The method of claim 7, comprising establishing the control plane on a physical Ethernet switch.
 12. The method of claim 7, comprising establishing the control plane on a VM.
 13. The method of claim 7, comprising: using a data plane to transform packets in an incoming format to an outgoing format, and forwarding packets to output ports; and using the control plane to execute at least a signaling protocol.
 14. The method of claim 13, comprising using the control plane for establishing routing tables.
 15. The method of claim 13, comprising using the control plane for establishing at least one quality of service policy.
 16. The method of claim 13, comprising using the control plane for exception handling.
 17. The method of claim 13, comprising using the control plane for monitoring data plane operation.
 18. Appliance, comprising: at least one processor; and at least one tangible computer readable medium accessible to the processor and storing a single virtual machine monitor (VMM) centralized control plane (CCP) configured to communicate with plural VMM data planes in a cluster of servers.
 19. The appliance of claim 18, wherein the control plane is useful for at least one of: establishing routing tables, establishing at least one quality of service policy, exception handling, monitoring data plane operation.
 20. The appliance of claim 18, wherein the control plane is useful for at least two of: establishing routing tables, establishing at least one quality of service policy, exception handling, monitoring data plane operation. 